In mobile communications systems, each carrier implements their system slightly differently. For data enabled mobile stations, the carriers want control over software loads on the data devices to ensure these loads run well on their systems. Each software load needs to be pre-approved prior to the load being released for use on the carrier's network.
Control over software loads is implemented within current mobile stations through a combination of a unique vendor identifier stored within the read-only memory of the mobile station and a proprietary desktop file that allows or denies the ability to download software onto that mobile station. Specifically, if a carrier approves a software load, this approval is reflected in the proprietary file that would then allow a mobile station associated with the carrier's unique identifier to load that software onto the mobile station.
The problem with the above described software load control mechanism arises in the situation where data device licensed software is loaded onto a third-party mobile station. In this case, the licensor of the data device software loses control over the relationship between the third-party licensee and the carrier. Since negotiations about software loads that are acceptable for loading onto the third-party device will be between the licensee and the carrier, it is undesirable for the licensor of the data device software to maintain a gatekeeper file specifying which software versions are allowed for upload onto a particular mobile station. Further, licensees will sometimes want to load their own applications and application versions, or the applications of other manufacturers besides those of the licensor, for which third party manufacturers want to have control over. It would be onerous for the licensor to maintain a gatekeeper program having all of this information added.